Traditionally, an Extract, Transform, Load (ETL) process is employed to integrate data from heterogeneous data sources. For example, ETL process is used to integrate data from different applications or systems, developed and supported by different vendors or hosted on separate computer hardware. Usually, the data from the different data sources is studied and analyzed by experts that define transformations for storing the data in proper format or structure for querying and analysis purpose. Data is extracted or pulled from the heterogeneous data sources. While data is being pulled, the transformations may execute, processing the already received data and preparing the data for loading. As soon as there is some data ready to be loaded into the target system, the data loading may start without waiting for the completion of the previous phases. The ETL, process requires data to he transformed for it to be transferred to a target system via the loading process, where, for example, the data is used for reporting and analytics purposes. However, if the transformations need to be modified, the transformed data from the target system need to be cleaned, the new transformation logic need to be incorporated, and the ETL process need to be executed once again. Thus, newly transformed data need to be reloaded into the target system. Such process may demand more computing resources and may be time consuming with higher volumes of data.